/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Trabalho3.RegrasPasswordChecker02;

/**
 *
 * @author geraldo
 */
public class Requerimentos {
   private final int TAMANHO_MINIMO_SENHA = 8;
    String password;

    public Requerimentos(String password) {
        this.password = password;
    }
        
   
    public int qtdeDeRequerimentosNecessarios(){
         
         return password.length()>= TAMANHO_MINIMO_SENHA? 3: 4;
    }
    
    
    public int qtdeDeRequerimentosSenha(){
        
        if (password.length()< TAMANHO_MINIMO_SENHA)return 0;
        
        Somatorios somatorios = new Somatorios(password);
        int total=0;
        int[] quesitosRequerimentos = {password.length(),somatorios.somarDigitos(),somatorios.somarMinusculas(),somatorios.somarMaiusculas(),somatorios.somarSimbolos()};
            for(int i=0; i< quesitosRequerimentos.length; i++){
                    
                    if (i==0&&quesitosRequerimentos[0]>7)
                       total++;
                   else if (i>0&&quesitosRequerimentos[i]>0) 
                        total++;
            }
       return total; 
    }
    
   
    public boolean isElegibleForRequerimentsBonus(){
        return this.qtdeDeRequerimentosSenha() > this.qtdeDeRequerimentosNecessarios();
    } 
}
